﻿using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.ComponentModel;

public partial class Sample16_Default : JavaScriptCodeBehind.Page
{

    BindingList<Pessoa> Pessoas = new BindingList<Pessoa>();

    protected void Page_Load(object sender, EventArgs e)
    {

        // Adiciona as referências dos controles que queremos acessar no JavaScriptCodeBehid...
        this.AddControlReference(this.dlCartoes);
        this.AddControlReference(this.btnSelecionar);
        this.AddControlReference(this.btnLimparSelecionados);

        if (this.dlCartoes.Items.Count == 0)
        {
            this.Pessoas.Add(new Pessoa("Ronan", "Toaí TI", "ronan@toai.com.br"));
            this.Pessoas.Add(new Pessoa("José", "Toaí TI", "jose@toai.com.br"));
            this.Pessoas.Add(new Pessoa("João", "Toaí TI", "joao@toai.com.br"));
            this.Pessoas.Add(new Pessoa("Maria", "Toaí TI", "maria@toai.com.br"));
        }
        else
        {
            for (int i = 0; i < this.dlCartoes.Items.Count; i++)
            {
                Cartao Cartao1 = (Cartao)this.dlCartoes.Items[i].FindControl("Cartao1");
                this.Pessoas.Add(Cartao1.Pessoa);
            }
        }

        this.dlCartoes.DataSource = Pessoas;
        this.dlCartoes.DataBind();

    }
    protected void dlCartoes_ItemDataBound(object sender, DataListItemEventArgs e)
    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Pessoa pessoa = (Pessoa)e.Item.DataItem;

            Cartao Cartao1 = (Cartao)e.Item.FindControl("Cartao1");
            Cartao1.Pessoa = pessoa;
            Cartao1.DataBind();
            
        }

    }

    protected void btnNovo_Click(object sender, EventArgs e)
    {
        this.Pessoas.Add(new Pessoa("","",""));
        this.dlCartoes.DataBind();
    }
}
